草庐IT

java - 构造函数中的异常

全部标签

javascript - (为什么)我不能从生成器中抛出异常吗?

我试图从ES6生成器函数的主体中抛出异常,但它没有通过。这是ES6规范的一部分还是Babel的怪癖?这是我试过的代码(onbabeljs.io):function*gen(){thrownewError('x');}try{gen();console.log('notthrowing');}catch(e){console.log('throwing');}如果这确实是指定的ES6行为,那么发出异常信号的替代方法是什么? 最佳答案 您创建了一个迭代器但没有运行它。varg=gen();g.next();//throws'x'(onb

javascript - 如何使用 mocha/chai/chai-as-promised 测试 ES7 异步函数

我有以下功能要测试://...constlocal=newWeakMap();exportdefaultclassUser{//...asyncpassword(password){if(!password)returnlocal.get(this).get('hash');//removethisforsecurityreasons!if(password.length现在我想用mocha测试这个函数,chai和chai-as-promised做这个测试用例:importchaifrom'chai';importchaiAsPromisedfrom'chai-as-promised'

javascript - window.onload 工作,但 Chrome 控制台显示 : Uncaught TypeError: window. onload 不是函数

我想在页面加载时运行getLocation()方法。我添加了:window.onload(getLocation());并按照我的意愿调用了该函数,但Chrome控制台显示:UncaughtTypeError:window.onloadisnotafunction(anonymousfunction)@(index):116window.onload(getLocation());View位于底部:@{ViewBag.Title="HomePage";}GecodingDemoJavaScript:@sectionScripts{varx=document.getElementById

javascript - 用 "and"替换字符串中的最后一个逗号

我有一个生成的字符串,本质上是一个列表。该字符串将由用户读取,因此我试图很好地格式化它。我使用逗号和空格分隔生成的列表:(a+'').replace(/,/g,",");产生1,2,3,4但是,我想将最后一个逗号更改为“,and”,这样它会显示1,2,3,and4我试过以下方法:((a+'').replace(/,/g,",")).replace(/,$/,",and");但它不起作用,我认为这是因为它只在字符串末尾查找逗号,而不是字符串中的最后一个逗号,对吧?此外,如果字符串中只有2个项目,我希望将逗号替换为“and”,而不是“,and”,以便在语法上更有意义。我怎样才能实现我正在寻

javascript - 如何将 JSON 对象中的文本字符串延续到另一行?

我有一个像这样定义的JSON对象:"COVER":{"H1":"XXX","P1":"Verylongtext"+"Moreverylongtext"}我试图将文本分成两行,但我收到一条VisualStudio错误消息,提示“对象成员后缺少逗号” 最佳答案 在您的编辑器/IDE中打开文本环绕。WordwrapMSDNJSON不是JavaScript,它是数据。为此破坏数据完整性是没有意义的。启用自动换行/将编辑器配置为pretty-printJSON是更好的选择。我个人更喜欢使用sublimetext3。

javascript - "this"在构造函数中分配的函数中如何工作?

我找到了这个示例代码:functionpersonFullName(){returnthis.first+''+this.last;}functionPerson(first,last){this.first=first;this.last=last;this.fullName=personFullName;}vardude=newPerson("Michael","Jackson");alert(dude.fullName());这会提醒“MichaelJackson”。我将其更改为从构造函数调用personFullName而不是分配函数对象:functionpersonFullNa

javascript - 如何创建一个 memoize 函数

我被这个memoize问题难住了。我需要创建一个函数来检查是否已经为给定参数计算了一个值,返回先前的结果,或者运行计算并返回该值。虽然我是JS的新手,但我已经花了几个小时在这上面。我无法理解如何做到这一点。我不能使用任何内置函数,并且真的很想了解我需要做什么。这是我目前所知道的,这是错误的,在这一点上感觉像是伪代码。我已经在这里搜索了现有的memoize问题,但我似乎还无法找到任何解决方案。非常感谢任何帮助。myMemoizeFunc=function(passedFunc){varfirstRun=passedFunc;functioncheck(passedFunc){if(fir

函数调用/构造函数调用前带有 [...] 的 Javascript 语法

我在javascript中发现了一种我从未发现过的语法以前见过,但我找不到合适的文档。它来自一个教程:varconnection=new[webkit|moz]RTCPeerConnection(...)webkit是什么意思,moz是什么意思,我自己能找到,大概这是两个定义的常量或枚举。但我的问题是:方括号中的语法[webkit|moz]是什么意思?是否对函数结果进行了某种类型转换?|字符在[webkit|moz]中是什么意思-这是OR运算符吗?谢谢 最佳答案 这不是正确的javascript语法(如果你尝试运行它,你会在第一个[

javascript - 使用 Babel.js 将 ES6 箭头函数编译为 Es5

在Mozilla文档中查看ES6箭头函数的文档时,我了解到箭头函数应用严格模式的所有规则,除了在link中描述的规则。varf=()=>{'usestrict';returnthis};varg=function(){'usestrict';returnthis;}console.log(f());//printsWindowconsole.log(g());//printsundefined//wecantestthisinfirefox!但是,Babel.js将箭头函数代码转换为ES5代码,返回undefined而不是Window(demolink)"usestrict";setT

javascript - JSON 对象中的数字类型

我刚开始学习JSON:以下哪一项是正确的:varjson={"age":22}//mybookwriteslikethis或varjson={age:22}//internetshowexamplelikethisPHPStorm生成argumenttypenumberisnotassignabletoparametertypestring对于他们两个。如果第二个是正确的,那么说明它与JS对象有什么不同。 最佳答案 好吧,您使用的是JSON一词,但您展示的示例不是JSON。如果您谈论的是纯JavaScript对象,那么您提供的两个示